Scheduling method and system for communication networks; corresponding devices, network and computer program product

ABSTRACT

In a method of scheduling transmission services over a high speed packet access communication link such as a HSDPA and/or a HSUPA link a list of queues is created for transmission services to be provided over the link. The queues, which include both Real Time and Non Real Time queues, are allotted respective service priorities based e.g. on a channel quality indicator and/or a Quality of Service indicator to produce an ordered list of queues based on the service priorities. The link resources needed for serving at least one set of queues having higher priorities in the ordered list are estimated and a check is made. If these resources are available, the set of queues having higher priorities in the ordered list are served. If the resources required are not available, at least one queue is removed from the ordered list of queues.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a U.S. National Phase Application under 35 U.S.C. §371 ofInternational Application No. PCT/EP2007/011351 filed Dec. 21, 2007,which was published Under PCT Article 21(2), the entire contents ofwhich are incorporated herein by reference.

FIELD OF THE INVENTION

The present disclosure relates to scheduling techniques forcommunication networks.

This disclosure was devised with special attention paid to its possibleuse in scheduling transmission of data to and/or from mobile stations ina cellular communication system whose radio access network exploits ahigh speed Code Division Multiple Access (CDMA) technology, e.g. HSDPA(High Speed Downlink Packet Access) for downlink and/or HSUPA (HighSpeed Uplink Packet Access) for uplink. Reference to this preferredfield of application is not however to be construed in a limiting senseof the scope of this disclosure.

DESCRIPTION OF THE RELATED ART

Document WO2007017753 addresses the aspect of fast scheduling in a radiobase station configured for HSDPA operation and proposes a solution tothe problem of low latency tolerant services as discussed by Bang Wanget al. in the conference paper “Performance of VoIP on HSDPA”, VTC 2005Spring, 30 May-1 Jun. 2005, Stockholm, Sweden. In this arrangement theselectable users are ordered by relying on criteria known in the artsuch as Proportional Fair or Round Robin, and thus proposes to considera user as eligible if at least one of the following conditions aresatisfied: a minimum number of stored packets; a maximum delay time; andany pending retransmission packets.

The solutions suggested by the paper by Bang Wang et al. address theproblem of optimizing spectral efficiency of HSDPA for low bit ratesservices, at the cost of introducing higher latency delays. In fact, thepaper by Bang Wang et al. proposes to equally share power and codesbetween the selected users.

The arrangement disclosed in WO-A-2006/081570 uses a combination of twoessential metrics in order to schedule allocation of channel resources.

The former metric is related to the time-to-expiration of packet(s) fora user stored in the scheduling buffer and the second metric relates tothe throughput that the user can get during the scheduling interval.Time-to-expiration is a metric that reflects the amount of time leftbefore the packet would be considered useless. Two options are used inorder to prioritize packet transmission to maintain QoS and efficientlyutilize the bandwidth available on a multi-user system. In both options,a two-part performance metric is used in a procedure corresponding tothe following basic mathematical equation: Priority=Delay Metric+RateMetric.

In the first option, the first metric is a delay metric corresponding tothe number of packets with a time till expiration less than a designatedthreshold. The latter metric is a rate metric and corresponds to thenumber of complete packets that the current packet payload canaccommodate if that user is chosen. For the second option, the firstmetric is a delay metric computed by summing a fractional computationderived using the time till expiration of all the packets in the queuefor a user. The second metric is a rate metric and corresponds to thenumber of complete packets that the current packet payload canaccommodate if that user is chosen.

The document US-A-2006/0153216 describes a scheduler for a downlinkpacket data traffic channel shared by a plurality of mobile stations byranking at least some of the mobile stations based on delay. Thescheduler employs a ranking metric for a mobile station that variesdirectly with the mobile station scheduling downlink transmission rateand a delay factor indicative of the staleness of the data queued forthe mobile station. Calculating the ranking metric may comprisecalculating the ranking metric as a function of the scheduling ratedivided by the difference between a threshold and the delay factor. Thethreshold may represent the maximum allowed delay, and the delay factormay be based on an amount of elapsed time associated with the oldest ofthe data queued for the mobile station. The delay factor may be based onan amount of buffer consumed by the queued data. Queued data isadvantageously transmitted to the mobile station based on the schedulingin a multi-user downlink packet on the shared downlink packet datachannel. Such an approach allows for delay sensitive data, such as VoIPdata, to be scheduled with increased urgency when quality of service isabout to be compromised.

OBJECT AND SUMMARY OF THE INVENTION

Starting from the preceding discussion, the Applicant has noted that thesolutions considered in the foregoing fail to provide a satisfactoryresponse to a number of needs, such as, e.g.:

-   -   properly exploiting a class of service as a parameter to assign        the priority to data transmission, while also distinguishing        between retransmissions and transmissions to be able to        prioritize the former over the latter and taking into account        the possibility to multiplex multiple users in one Time        Transmission Interval, or TTI, at least for the downlink shared        channel;    -   optimizing the scheduling procedure of e.g. a HSDPA/HSUPA radio        link mainly in order to render performance for Real Time users        acceptable in terms of Quality of Service perceived by the users        and in terms of capacity of the system;    -   providing low latency delay links whilst reducing the spectral        efficiency by an amount as small as possible, with a view to        optimizing performance in respect of Real Time (RT) users (e.g.        in terms of Quality of Service or QoS as perceived by the users        and in terms of capacity of the system) as well as Non Real Time        (NRT) users, thus providing an exhaustive scheduling procedure        that also takes into account Non-Real Time users;    -   properly prioritizing RT users by taking into account—on the one        side—the channel condition as experienced by the user and—on the        other side—the delay accumulated by the data of the user;    -   determining (i.e. calculating) the power needed to transmit an        amount of data as a function of the Transport Block Size or TBS        selected, with the objective of minimizing the chance of        retransmission while making an efficient use of this limited        resource.

The object of the invention is thus to provide a satisfactory responseto those needs.

According to the present invention, that object is achieved by means ofa method having the features set forth in the claims that follow. Theinvention also relates to a corresponding system (i.e. a scheduler),corresponding communication devices including such a scheduler, arelated network as well as a related computer program product, loadablein the memory of at least one computer and including software codeportions for performing the steps of the method of the invention whenthe product is run on a computer. As used herein, reference to such acomputer program product is intended to be equivalent to reference to acomputer-readable medium containing instructions for controlling acomputer system to coordinate the performance of the method of theinvention. Reference to “at least one computer” is evidently intended tohighlight the possibility for the present invention to be implemented ina distributed/modular fashion.

The claims are an integral part of the disclosure of the inventionprovided herein.

An embodiment of the arrangement described herein is thus mainly focusedon defining the criteria to allocate radio resources over a packetswitched network where a High Speed technology is implemented in theradio access network of the telecommunication system to provide bothReal Time (RT) and Non Real Time (NRT) services.

As used herein, “High Speed” technology will be generally associatedwith the deployment of a HSDPA (High Speed Downlink Packet Access)system over the downlink and/or the deployment of a HSUPA (High SpeedUplink Packet Access) over the uplink in radio access.

In certain embodiments, the main technology issue for considering boththe downlink and the uplink may relate, on the one side, to the strictrequirements of Real Time service in terms of Quality of Serviceperceived by the user and, on the other side, to the nature of the HighSpeed technology that uses shared radio resources to serve multipleusers in both the two links: in particular, in downlink, HSDPA allocatespower and codes between multiple users while in uplink HSUPA indirectlydecides the impact that a user has on the interference perceived by thesystem by allocating the power for the user's transmission. High Speedtechnology may serve all the packet switched users, including those ofthe NRT services. In a High Speed embodiment, decisions may be taken inrespect of the priority order of the users and the radio resourcesallocation criteria in order to serve multiple traffic classes with suchflexibility as to satisfy every flow of data, belonging to either a RTor a NRT service.

In an embodiment, a high-level architecture of a scheduling procedure isdefined which, on the one hand, optimizes the performance of the RTservice over the packet switched network and, on the other hand, isflexible in such a way as to satisfy also NRT, considering both uplinkperformance (as implemented in the radio base station for allocating theuplink resources of the HSUPA radio access technology) and downlinkperformance (as implemented for allocating the downlink resources of theHSDPA radio access technology).

In an embodiment, based on knowledge of the resources, i.e. power andcodes, required to transmit the unsent packets to the UE addressed theresources are shared between all the selected users by taking intoaccount the requirements associated with each selected user.

An embodiment of a high-level architecture in HSDPA and in HSUPA mayinvolve the definition and usage of technology specific parameters todetail the HSDPA downlink scheduling procedure and the HSUPA uplinkscheduling procedure, as described in the following.

Exemplary principles which may be applied in such an embodiment mayinclude one or more of the following:

-   -   retransmission such as H-ARQ (Hybrid Automatic Repeat reQuest)        retransmissions may have priority over transmissions; the same        radio resources may be scheduled to retransmit data in terms of        power and number of channelization codes used in the first        transmission by the NodeB, when considering the downlink, and        the power assigned by the NodeB to the UE, when considering the        uplink;    -   in first time transmissions, the RT traffic may have priority        over NRT traffic; in other words, the scheduler may consider the        NRT traffic only when no other RT traffic can be served;    -   the RT and NRT queues may be sorted according to a priority        function; in particular, new transmissions of RT data may be        based on a priority function derived by combining various        metrics: for instance, a metric may be related to the channel        quality observed by the user; a metric may be related to the        time to expiration of packets for the user; a metric may be        related to the previous one and express the amount of data whose        expiration time is the most urgent. New transmission of NRT data        may be prioritized based on one metric that considers the amount        of data available to be sent for each service. The uplink        priority function and the downlink priority function may use the        same metrics; however, the implementation of these metrics may        exploit technology specific parameters;    -   the RT traffic may use as few radio resources as possible thanks        to a capacity estimation function, i.e. the amount of resources        assigned for transmission of RT packets is limited to the        quantity strictly needed to achieve the required (BLock Error        Rate) BLER target of the service. The downlink capacity        estimation function and the uplink capacity estimation function        may use the same criteria but the implementation may exploit        technology specific parameters;    -   NRT traffic may be given all the remaining resources, i.e. those        not used by RT flows;    -   NRT traffic flows may be scheduled so as to maximize system        usage.

The arrangement described herein fully meets the needs outlined in theforegoing.

For instance, it may exploit class of service as a parameter to assignthe priority to data transmission, and distinguish betweenretransmissions and transmissions to prioritize the former over thelatter and taking into account the possibility to multiplex multipleusers in one Time Token Interval or TTI.

Also, it may optimize the scheduling procedure of e.g. a HSDPA/HSUPAradio link in order to render performance for Real Time users overHSDPA/HSUPA technology acceptable in terms of Quality of Service asperceived by the users and in terms of capacity of the system.

The arrangement described herein may provide low latency delay linkswhilst reducing the spectral efficiency by as small as an amount aspossible, thus optimizing performance of Real Time (RT) users as well asNon Real Time (NRT) users.

Also, it may properly prioritize RT users by taking into account boththe channel condition as experienced by the user and the delayaccumulated by the data of the user.

Additionally it may determine the power needed to transmit an amount ofdata as a function of the TBS selected.

BRIEF DESCRIPTION OF THE ANNEXED DRAWINGS

The invention will now be described, by way of example only, withreference to the enclosed figures of drawing, wherein:

FIG. 1 is a pictorial diagram generally representative of the context ofthis disclosure;

FIG. 2 is a high level state diagram of a scheduler architecture asdisclosed herein;

FIG. 3 is a flow chart representative of various functions included inthe scheduler architecture as disclosed herein; and

FIG. 4 is a flow chart representative of a residual resource allocationfunction for use in exemplary HSDPA and HSUPA scheduling procedures asdisclosed herein.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

In the following description, numerous specific details are given toprovide a thorough understanding of embodiments. The embodiments can bepracticed without one or more of the specific details, or with othermethods, components, materials, etc. In other instances, well-knownstructures, materials, or operations are not shown or described indetail to avoid obscuring aspects of the embodiments.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. Thus, the appearances of the phrases “in oneembodiment” or “in an embodiment” in various places throughout thisspecification are not necessarily all referring to the same embodiment.Furthermore, the particular features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments.

The headings provided herein are for convenience only and do notinterpret the scope or meaning of the embodiments.

As indicated, FIG. 1 is a pictorial diagram generally representative ofthe context of this disclosure, and thus refers to a mobile networkarrangement wherein one or more base stations (Node B) serve a pluralityof user equipments. Only one base station BS and two user equipments,designated UE1, UE2, are shown for the sake of simplicity and withoutloss of generality.

In an exemplary 3G (or over) embodiment supporting High Speed (e.g.HSDPA/HSUPA) operation, the base station BS may include specific HighSpeed (HS) MAC functionalities such as MAC-hs in downlink for HSDPA andMAC-e in uplink for HSUPA plus additional functionalities such as packetscheduling, link adaptation, and H-ARQ. Transmission in the “downlink”direction (i.e. BS to UE) will include signaling (e.g. Channel QualityIndicator or CQI, Ack/Nack) and data, while transmission in the “uplink”direction (i.e. UE to BS) will include signaling (e.g. schedulinginformation, Ack/Nack, Transport Block Size), and data.

In the following, some exemplary aspects of scheduling for High Speedtechnology are formalized and a set of definitions and notations thatwill be used in the rest of this disclosure are provided.

The notations used in this disclosure are reported in Table 1, with theproviso that parameters/acronyms related to HSDPA technology are wellknown in the art and do not require to be explicitly specified;conversely, parameters/acronyms related to HSUPA technology areexplicitly specified for immediate reference. Subscripts are used todenote a User Equipment (UE), while a functional notation is used todenote a time, which is expressed in multiples of the TTI (Time TokenInterval).

TABLE 1 NOTATION CQI_(i) ^(reported) The last reported CQI from the i-thUE (UE i); rep_(i) The TTI at which CQI_(i) ^(reported) has beencomputed TBS_(i) The TBS (Transport Block Size) value related to CQI_(i)^(reported) for HSDPA and related to the UPH reported in SchedulingInformation for HSUPA; CAT_(i) Category of UE i; T_(i) ^(ITTI) Inter-TTITime UE i; T_(i) ^(last) The last TTI when UE i was allocated resourcesfor transmission; T^(HARQ) Number of TTIs after which an H-ARQ processcan change its state (successful, retransmission, failed); T_(i) ^(next)The next TTI at which UE i can be selected for transmission, computed asT_(i) ^(next) = T_(i) ^(last) + T^(HARQ); P^(HSDPA) Power reserved forHSDPA transmission; P^(used) (j) Transmission power used in the j-th TTI(TTI j) by the NodeB; p_(i) (j) Transmission power assigned to the UE iin TTI j; CQI_(i) ^(used) CQI selected for UE i; C^(HSDPA) Number ofcodes reserved for HSDPA transmission; C (j) Number of codes allocatedby the scheduler during TTI j; c_(i) (j) Number of codes assigned to UEI in TTI j; U^(HSDPA) Maximum number of users that can be served in aTTI (i.e., number of HS-DSCH); U (j) Number of users served in TTI j;HARQ (j) Set of active H-ARQ processes at the beginning of TTI j. (i.e.the number of retransmission processes); unACKed (j) Set of users havingun-ACKed transmissions at the beginning of TTI j (which, however, arenot in HARQ(j) too); Q_(i, k) The MAC-hs queue with priority k of UE i;B_(i, k) The backlog of Q_(i, k); head (Q_(i, k)) The size of thehead-of-line PDU in Q_(i, k); hi_pri(Q_(i, k)) The amount of backlog inQ_(i, k) having the maximum priority. SNR_(i)(j) Signal-to-interferenceratio of UE i in TTI j I^(int ra) Intra cell interference I^(int er)Inter cell interference P_(i) ^(loss)(j) Path loss value of UE i in TTIj CQI^(ratio) Physical layer value as provided in current usage ofLink-Level Performance Indicators for HSDPA networks in E-UMTS e.g. 1.02CQI^(offset) Physical layer value as provided in current usage ofLink-Level Performance Indicators for HSDPA networks in E-UMTS e.g.16.62 P_(i) ^(att)(j) Power attenuation experienced by UE i in TTI jSNR_(i)(j, c) Signal-to-interference ratio corresponding to a particularCQI c for UE i in TTI j P_(i) ^(est) (j, c) Estimated power required forsuccessful transmission with a CQI c for UE i in TTI j P_(i) ^(CPICH)(j) Power of the P-CPICH received by UE i at TTI j DT(Q_(i, k)) DiscardTimer of the head-of-line PDU in Q_(i, k) d_head(Q_(i, k)) Delay of thehead-of-line PDU in Q_(i, k) CQI_(i) ^(MAX) (j) The maximum CQI that canbe assigned to UE i, based on the available HSDPA power at TTI j U^(max)Maximum HSDPA number of users that can be served in a TTI if thedownlink is treated, of HSUPA UEs if the uplink is treated B_(ed) _(—)_(i) (j) This is related to the power that will be granted to the UE i,at TTI j in the HSUPA technology TBS _(—) _(hsupa) _(—) _(i) The TBSvalue related to B_(ed) _(—) _(i) for HSUPA; HLBS_(i) Buffer occupancyof highest priority logical channel of the UE i contained in the SIfield for HSUPA U^(hsupa) Maximum number of users that can be served ina TTI in HSUPA; SI_(i) Scheduling Information of the UE i for HSUPAUPH_(i) Uplink Power Headroom of the UE i contained in the SI field forHSUPA TEBS_(i) Total E-DCH buffer status of the UE i contained in the SIfield for HSUPA N_Ch_(j) Number of E-DCH channels used by HSUPA

Scheduling (both downlink and uplink) will generally mean selectivelyallotting usage of the communication (i.e. “service”) resources to aplurality of users (or “queues”) both real time (RT) and non real time(NRT).

More to the point, a scheduler in the base station BS may perform thefollowing functions:

-   -   handling services priority (i.e. RT and NRT);    -   scheduling new transmissions and retransmissions; and    -   allocating the radio resources, i.e. transmission power and        channelization codes for HSDPA and transmission power for HSUPA,        to assign to each UE.

For RT services one may assume that the discard timer in the Radio LinkControl (RLC) protocol layer is configured in order to drop stale data.The definition “stale data” applies to those packets that wouldcertainly miss a relevant deadline of theirs. These may be, i.e. thosepackets whose delay will be in excess of the Quality of Service delayrequirement imposed by the nature of the service: for instance, theultimate deadline for a conversational service may be 400 ms.

FIG. 2 is a high level state diagram of a scheduler architecture asdisclosed herein.

At the beginning of TTI j, either or both of the two schedulers(downlink and uplink) are invoked and the following operations areperformed. Hereinafter an exemplary condition will be considered whereinboth schedulers (i.e. HSDPA and HSUPA) are invoked.

State 100 (Schedule H-ARQ reTx)

H-ARQ retransmissions are scheduled first, i.e. they are given thehighest priority. According to the chase combining H-ARQ mode, theconfiguration of the physical layer may remain the same in order toretransmit the same data packet as in the original transmission. Thisallows the receiver to combine the energy perceived per bit in thereceiver buffer where the original packet has been stored.

The HSDPA technology may mandate that the number of codes employed inthe H-ARQ process remain constant, whereas the power assigned to eachtransmission can be dynamically changed. In fact, the exemplaryscheduler disclosed herein serves each H-ARQ retransmission with thesame codes and power as in the original transmission. The HSUPAtechnology may instead assign the same Absolute Grant as in the originaltransmission, i.e. the same amount of power that was originally assignedin the first transmission.

Reference 102 is representative of the scheduler remaining in state 100if there are H-ARQ users to be scheduled.

State 104 (Schedule New Transmissions)

If there are resources available, a set of new UEs are scheduled toreceive new data. The available resources are shared among these newUEs, so that each queue is given the minimum resources required forservicing its most urgent Packet Data Units (PDUs).

Reference 106 is representative of the scheduler remaining in state 104if there are enough resources to schedule one new transmission.

State 108 (Allocate Residual Resources)

This step is performed if and only if the resources have not beencompletely depleted in the previous steps.

In HSDPA the remaining codes and power are shared among the UEs selectedat state/step 104, if any. Otherwise, the remaining power is sharedamong the set of H-ARQ retransmissions, which may imply that not allcodes are actually used.

In HSUPA the remaining interference perceived by the Node B is used byallocating power to the UEs selected at point 2, otherwise between theUEs selected at state/step 102. In fact, assigning resources for uplinkmay mean configuring one UE to use a given power level in uplinktransmission by correspondingly generating interference at the basestation or BS. The BS will thus have a maximum threshold of interferenceto be perceived.

This obviously maximizes the chance of successful transmission in boththe cases.

State 110 (Trigger Data to the Physical Layer)

In HSDPA this means that the MAC-hs PDUs are created and the each MAC-hsPDU is transmitted over the HS-DSCH. In HSUPA the B_(ed) _(—) _(i)(j)are sent to the UEs in order to make each UE build the MAC-es/e PDUsthat will be transmitted over the relevant E-DCH.

As better detailed in FIG. 3, the following operations are performedwhen scheduling new transmissions (state/step 104).

In a step 200, eligible users are selected.

The set of new transmissions to be scheduled are selected every TTIamong the set of eligible users.

In HSDPA a user is marked as eligible in TTI j when it satisfies thefollowing set of conditions:

-   -   UE_(i)∉HARQ(j)∪unACKed(j)    -   ∃k:B_(i,k)≧0, i.e. the UE_(i) has backlog;    -   T_(i) ^(last)+T_(i) ^(ITTI)≦j.

Note that In HSUPA the UE communicates its backlog to the radio basestation in the Total E-DCH buffer status (TEBS) field included in theScheduling Information (SI).

In a step 202 a check is made as to whether the list of eligibleusers/queues is empty. In the case of a positive outcome of step 202,the function terminates, and in a step 203 the list of scheduledtransmissions is passed to the next block.

If steps 202 yields a negative outcome, in a step 204 the schedulersorts the list of eligible users according to a priority function: thelist of eligible users may be sorted according to a priority function,which may be formally defined in the “Utility Function” section. Thepriority function may use technology specific parameters and thereforethe implementation may be different in the downlink and in the uplinkeven though both the HSDPA and HSUPA priority functions are based on thesame metrics.

New transmissions of RT data may be based on the priority built over thecombination of three metrics. A first metric may be related to thechannel quality observed by the user to which the queue is associated.The second metric may relate to the time to expiration of packets forthe user. The third metric may be related to the second and express theamount of data whose expiration time is the most urgent.

New transmission of NRT data may be prioritized based on one metric thatconsiders the amount of data that the user would be able to send dividedby the amount of data in the queue buffer.

In a step 206 the scheduler computes the resources for thehighest-priority PDUs which were not accommodated yet. The user UE_(i)at the head of the list is selected, and its highest priority non-emptyqueue m=max{k:B_(i,k)≧0} considered. The number of data with the highestpriority hi_pri(Q_(i,m)), for which resources have not been allocatedyet (initially the head-of-line PDU(s)), is determined and the resourcesrequired to serve them all are computed.

This step can be performed several times for the same user. To thatpurpose, a set of utility functions may be defined referring to theCapacity Estimation function, which is formally described below. Thiscapacity estimation function may use technology specific parameters;therefore the implementation may be different in the downlink for HSDPAand in the uplink for the HSUPA system.

In a step 208, the scheduler checks if there are enough resources. Tothat effect, the scheduler analyzes the output of step 206 anddetermines if all the Service Data Units (SDUs) can be transmitted inthe current TTI. If there are enough resources to transmit all the SDUscomputed in the step 206 (i.e. positive outcome of step 208), theexecution continues to step 210. Otherwise (i.e. negative outcome ofstep 208), step 212 is performed.

“Enough resources” means, in the HSDPA system, that the number of codesand the power computed by the capacity estimation function are smallerthan or equal to the number of codes and the power reserved to HSDPA.

In the HSUPA system, this will mean that the total interference that theradio base station (i.e. the receiver side of the uplink) willexperience in the next TTI, i.e. the Received Total Wideband Power(RTWP), computed by the capacity estimation function, does not exceedthe RTWP MAX selected by higher layers.

In the step 212, the scheduler will reduce the number of SDUsconsidered. The scheduler may use the utility functions defined below inorder to compute the maximum number of SDUs that can be transmitted inthe forthcoming TTI, according to the amount of available resources.

When this happens, in a step 214 UE_(i) is removed from the list ofeligible users and its scheduled SDUs, if any, will be transmitted inthe forthcoming TTI. As an outcome of this step, UE_(i) may be found tobe unable to transmit anything given its current channel state.

Whatever the step previously performed (i.e. step 208 or step 214, as afunction of the outcome of step 208) in the step 210 the scheduler willupdate the list of scheduled users.

If in steps 206, 208, 212 a new user is scheduled for which at least oneSDU has been selected, the latter is added to the set of scheduled usersfor the forthcoming TTI U(j). The available resources are updated toreflect the new allocation.

In a HSDPA system this means that the number of available codes andavailable power destined for HSDPA UEs are updated, while in the HSUPAsystem the total received interference still available compared to RTWPMAX value is updated in the radio base station.

In a step 216, the scheduler will then check if the new total number ofusers does not exceed the maximum number of users per TTI or there areno more available resources. If either of these conditions is met(positive outcome of step 216), then the user selection process iscomplete and in a step 218 the eligible list is set equal to U(j).

Otherwise (negative outcome of step 216), there might still be room formore traffic, and therefore the scheduler goes back to step 202 afterupdating the resources available in a step 220.

The above function returns the set of new PDUs that will be served inthe forthcoming TTI for each user, together with the required radioresources.

FIG. 4 is a block diagram of the allocate residual resources function(state 108 of FIG. 2) which can be developed in both the HSDPA and HSUPAscheduling procedure.

This function is invoked at the end of scheduling new transmissions(state 104 of FIG. 2), if there are residual resources.

Essentially, this procedure involves a step 300 wherein the schedulergets the list of retransmissions and the list of new transmissions.

In as step 302 a check is made as to whether the list of newtransmissions is empty.

If that is the case (positive outcome of step 302), then in a step 304the scheduler allocates resources to the H-ARQ retransmissions.

In the case of a negative outcome of step 302, which means that the listof new transmissions is not empty, then in a step 306 the schedulerallocates resources to the new transmissions.

In either case the scheduler then evolves towards the state 110 of FIG.2.

The utility functions that the scheduler uses are described in thefollowing.

Queue Sorting

Exemplary priorities for real time (RT) and non real time (NRT) queuesare now described.

With regard to RT traffic, as far as VoIP (Voice over IP) is concerned,a maximum one-way mouth-to-ear delay may be 400 ms. This implies that agiven “delay budget” DT(Q_(i,k)) (henceforth referred to as deadline) isset on each VoIP packet for its transit through the UMTS domain. Morespecifically, the cell capacity is observed to decrease as the deadlinesbecome tighter.

In an embodiment, priorities are assigned according to a HybridChannel-Aware & Real-Time (HY-CART) policy. “Hybrid” because it behavesas both a MAX-C/I and a pure Earliest Deadline First (EDF) approach,thus keeping into account both the channel state and the packetdeadlines simultaneously. Furthermore, the relative importance of thetwo contributions changes as the deadline approaches, so as to minimizethe chance of a deadline miss.

In a pure MAX-C/I approach, the priority of a RT queue in the downlinkmay be computed as follows:pri _(i) =CQI _(i) ^(MAX)

where i is the index of the selected user. This method assigns thehighest priority to the UE that currently experiences the best channelconditions. The channel conditions are estimated as describedpreviously, in order to draw a fair comparison among UEs that reportedCQI values in different times and power conditions. Although such anindex may be used in order to maximize throughput, such a policy mayturn out to be unfair, since it may lead to repeated deadline misses forUEs who experience non optimal channel conditions, even at moderate cellloads.

On the other hand, a pure EDF scheme computes the priority of a queueas:

${pri}_{i} = \frac{1}{{{DT}\left( Q_{i,,k} \right)} - j}$

This gives a higher priority to packets with the shortest residuallifetime; this ratio goes to infinite and becomes negative when queue ihas missed a deadline. In this case, the head-of-line packet is droppedby the scheduler.

The HY-CART approach blends the above two approaches, as it aims atinfluencing the RT traffic priority based on both the deadline of thedata involved in the RT communications and the channel quality.

More specifically, when there are RT queues to be served and deadlinesare “far enough”, we strive to optimize the system performance, servingthe UEs with better channel conditions (which implies using lessresources, possibly scheduling more users simultaneously, and makingmore codes and power available for lower priority transmissions).

In HY-CART, priorities may be computed as follows:pri _(i)=α_(i) ·ChQuality+(1−α_(i))·k·hi _(—) pri(Q _(i,k))

where α_(i) is a dynamic weight, 0≦α≦1, and k is a positive scalingfactor that will differ from HSDPA and HSUPA, which is required in orderto make the two addenda comparable. While the first term isself-explanatory, the second term reflects the number of bits of thosepackets in the queue having the most stringent deadline (assuming thatthe channel conditions remain the same throughout the TTI interval). Theweight α_(i) is a function of DT(Q_(i,k))−j, i.e. it accounts for thedeadlines. When the latter is large (i.e. the head-of-line packet of aqueue is far from its deadline), α_(i) is equal to 1, which makes thesecond term null. On the other hand, α_(i) approaches zero asDT(Q_(i,k))−j approaches zero, so as to make the priority strictlydepending on deadlines.

At least notionally, there are many ways to devise a functionα_(i)=f(DT(Q_(i,k))−j). For instance, the values proposed in Table 2 maybe chosen.

TABLE 1 α_(i) reference values Discard Time of the head-of-line PDU inQ_(i, k) α_(i) DT(Q_(i, k)) > T₄ 1 T₃ < DT(Q_(i, k)) < T₄ ½ T₂ <DT(Q_(i, k)) < T₃ ¼ DT(Q_(i, k)) < T₂ 0

In Table 2, T₂, T₃ and T₄ are three thresholds chosen considering VoIPrequirements in terms of one-way-delay.

The queue sorting function may use technology specific parameter todevelop the first metric mentioned in the formula above, in particular:

HSDPA: ChQuality=CQI

HSUPA: ChQuality=UPH

With regard to NRT traffic, policies aimed at achieving fairness arecurrently being investigated. NRT traffic is also directly influenced bythe TCP behavior. In fact, the throughput of TCP depends on the RTT ofthe connection.

Exemplary HSDPA and HSUPA approaches will now be described. Throughoutthis final section of the description current (e.g. ETSI) standarddefinitions and acronyms will be used. The meaning of these standarddefinitions and acronyms is well known to those of skill in the area anddo not require detailed explanations herein.

As a HSDPA approach the following may be used:

${pri}_{i} = \frac{{TBS}_{i}}{{size}\left( Q_{i,k} \right)}$

This function gives a higher priority to users which require less TTIsin order to clear their backlog.

As a HSUPA approach the following may be used:

${pri}_{i} = \frac{{TBS\_ hsupa}{\_ i}}{{TEBS}_{i}}$

This function gives a higher priority to users which require less TTIsin order to clear their backlog.

Now, a Transport Control Protocol (TCP) flow can have a low backlog foressentially two reasons:

-   -   the application that the TCP carries is about to pause, in which        case delaying the TCP packets would delay the completion of the        ongoing transaction;    -   the TCP has a small congestion window, which prevents it from        using more bandwidth. However, in this case, the TCP whose        bandwidth has the lowest resource cost should be favoured, so as        to increase the TCP rate.

As the TCP rate increases, the size of the queue is going to increase aswell. Thus, this strategy strives to tune the TCP rates so that eachsource takes the same amount of resources. In doing this, it makes afair usage of the resources.

Capacity Estimation

In the case of HSDPA, reference is made to the Compute CQI-Power Table.

The CQI_(i) ^(reported) is the feedback sent from UE i to the NodeB at aTTI rep_(i)<j, j being the TTI for which a scheduling decision isrequired. Each CQI is associated with a specific modulation and codingscheme, a specific number of codes and a corresponding TBS. The UEreports the highest CQI value which would make a TBS worth of bytes bereceived with a BLER no greater than 10%.

The UE computes the CQI based on the total received HS-PDSCH power, i.e.on P^(HSPDSCH)≦P^(CPICH)+Γ+Δ, where:

-   -   Δ, the reference power adjustment, depends on the CQI mapping        table defined for each UE category,    -   Γ, the measurement power offset, is signaled by higher layers        and configured by the RRC.

UE power allocation is related to both the CQI_(i) ^(reported) and theCQI selected for the next transmission. However, the power used from theUE to compute the CQI at TTI rep_(i) might not be the same the UE willsee at TTI j.

Thus, a method is devised to compute the power that is assigned to theUE, while guaranteeing a BLER no larger than 10%.

The fading P_(i) ^(art) is estimated by means of a function that invertsthe CQI reporting procedure as follows:

$\begin{matrix}{{{{{SNR}_{i}(x)} = {{P^{used}(x)} - {P_{i}^{att}(x)}}},{{CQI}_{i}^{reported} = \left\lfloor {\frac{{SNR}_{i}(x)}{{CQI}^{ratio}} + {CQI}^{offset}} \right\rfloor}}{where}{{P_{i}^{att}(x)} = {10 \cdot {{\log_{10}\left\lbrack {{\left( {1 - \alpha} \right) \cdot 10^{\frac{I^{intra}}{10}}} + 10^{\frac{I^{inter} + P^{loss}}{10}}} \right\rbrack}.}}}} & (0.1)\end{matrix}$

and α, I^(intra), I^(inter), and P^(loss) are supposed to be known andit is possible that the radio base station derive them throughout the UEmeasurements such as RSCP and RSSI.

However, the HSDPA power P^(used)(x), on which (0.1) is computed at TTIx, may in fact be divided among all active users. Therefore, the poweractually used for UE i, p_(i)(x), is generally smaller than (or at leastequal to) P^(used)(x). Furthermore, it is likely to be different fromp_(i)(j) for j>x. The scheduler then estimates P_(t) ^(att)(x) asfollows:P _(i) ^(att)(x)=P ^(used)(x)−CQI^(ratio)·(CQI_(i)^(reported)−CPI^(offset))

According the previous formulae, the scheduler is made aware of the UEchannel state. Therefore, it is able to compute for each CQI value c,the power P_(i) ^(est)(j,c) that should make the BLER no greater than10%, under the hypothesis that P_(i) ^(att)(x)≅P_(i) ^(att)(j).

Finally, the UE's CQI-Power table is computed as follows:for each CQI c,0≦c≦30,P _(i) ^(est)(j,c)=CQI^(ratio)·(c−CQI^(offset))+ P_(i) ^(att)(x)

A function designated Compute Maximum CQI computes the maximum CQI thatcan be assigned to the UE i according to the power that is currentlyavailable. In order to do this, it performs the “inverse” computation asthe one described in the previous section, i.e. it tries to match theavailable power (P^(HSDPA)−P^(used)(j)) with the related CQI in theCQI-Power table.

In the case of HSUPA, a Partial Received Interference Computationfunction may be resorted to. Interference may be comprised of differentcontributions such as the Thermal Noise that we consider as known, theIntracell Interference that is due to the users of the current cell andthe Intercell Interference that is due to the users of the other cells.

This function sets up a correct starting received signal power valuewhich will be used by the Grant Computation and Assignment function inorder to check the current interference level at NodeB against theselected grant, and therefore the E-DPDCH power, for the Ue currentlyunder consideration.

This function estimates the Intracell Interference contribution usingthe estimated value of the path loss for each eligible selected UEderived by the RSCP measurement, and computes a partial interferencecontribution for each UE by adding an DPCCH_(RX)*PLOSS contribution tothe current total received signal power (RTWP). The IntercellInterference contribution is then estimated by multiplying theestimation of the Intracell Interference for an interference factor thatis an absolute value. For example the interference factor could beconsidered as 0.55.

If other channels are active (as example, High Speed Downlink ControlChannel, HSDPCCH) they are also taken into account in the RTWPestimation.

A Grant Computation and Assignment function computes the optimum grantto be assigned to the Ue being considered.

This may involve a number of steps.

A first step involves estimating the signal attenuation and computingthe relevant signal power. The scheduler estimates the total path loss(Ploss) for the selected UE thanks to the RSCP and, knowing the receivedDPCCH power level, computes:

-   -   DPCCH transmission power: DPCCH received power over estimated        path loss, i.e.:        DPCCH_(TX)=DPCCH_(RX) *PLOSS    -   E-DPDCH maximum hypothetical power: according to the last        reported UPH, the scheduler may compute the maximum usable power        for the E-DPDCH, i.e.:        E-DPDCH=UPH*DPCCH_(TX)

Then the maximum TBS is computed. Based on the information retrieved inthe previous step, the scheduler computes, the maximum hypotheticalusable TBS if an Absolute Grant equal to E-DPDCH/DPCCH was assigned tothis UE. This is done by looking up a TBS table with an entry valueequal to B_(ed).

Knowing the reference values, the look-up table may be obtained by thefollowing equation:

$\beta_{{ed},j} = {\beta_{{ed},{ref}}\bullet\sqrt{\frac{{N\_ Ch}_{ref}}{{N\_ Ch}_{j}}}\bullet\sqrt{\frac{{TBS}_{h\;\sup\;{a\_ j}}}{{TBS}_{h\;\sup\;{a\_{ref}}}}}}$

This TBS is scaled down to the HLBS reported by the UE in order toeventually restrict the maximum TBS to the one strictly necessary toserve the highest priority buffer in the next TTI.

Then the scheduler estimates the transmission success probability bycomputing the transmission success probability for the selected UE bycalculating its Ec/NO thanks to the E-DPDCH and DPCCH powers asdetermined previously and thanks to the Interference previouslyestimated by the Partial Received Interference Computation function.

This value is then used to do a lookup in a dedicated BLER vs Ec/NOcurves for the chosen TBS.

If the resulting BLER is found to be acceptable (i.e., less than 10%),the Grant already computed is returned for this UE.

Otherwise, given a configured threshold, the TBS is scaled down to thenearest one in the TBS selection table. Then a new grant is retrievedfrom this table, which is the minimum needed to transmit at the newlyselected TBS. Using this new grant value, a new E-DPDCH is computed asGRANT*DPCCH_(TX). In this case, the step is re-executed with this newlyselected E-DPDCH_(MAX) value.

This step ends if either a successful Grant is selected or the minimumTBS is reached, whichever occurs first

The returned grant is used to estimate a maximum E-DPDCH power whichwill be used in transmission by the current selected UE. This power,added to the current Total Interference value computed by the relatedUtility Function after the sorting phase of the scheduling procedure, isused to compute the hypothetical RTWP and Cell Load which would beexperienced by NodeB in the next TTI.

If this Cell Load value is found to be acceptable (i.e. lower than apre-configured threshold value), the Absolute Grant value computedpreviously is confirmed and the current Total Interference is increasedwith the corresponding E-DPDCH hypothetical next TTI received power.

Without prejudice to the underlying principles of the invention, thedetails and the embodiments may vary, even appreciably, with referenceto what has been described by way of example only, without departingfrom the scope of the invention as defined by the annexed claims.

The invention claimed is:
 1. A method of scheduling transmissionservices including the steps of: creating a list of queues of Real Timeand Non Real Time transmission services to be provided over a high speedpacket access wireless communication link, allotting to each of saidqueues of Real Time and Non Real Time transmission services in said lista respective Real Time or Non Real Time service priority, wherein theReal Time service priority is based at least in part on a channelquality indicator and the Non Real Time service priority is based on ametric dictated by an amount of data that a user associated with therespective Non Real Time service queue would be able to send divided byan amount of data in a queue buffer, producing an ordered list of queuesof Real Time and Non Real Time transmission services based on therespective allotted Real Time or Non Real Time service priorities,estimating link resources needed for serving at least one set of queuesordered higher in said ordered list of queues, checking whether saidlink resources are available, and: i) if said link resources areavailable, serving said at least one set of queues ordered higher insaid ordered list of queues, and ii) if said link resources are notavailable, removing from said ordered list of queues at least one queuefrom said at least one set of queues ordered higher in said ordered listof queues.
 2. The method of claim 1, wherein Real Time service queues insaid list of queues are allotted said respective Real Time servicepriorities based on a set of metrics including: the channel qualityindicator indicating a channel quality observed by a user associatedwith the respective Real Time service queue; a time to expiration ofpackets for the user; an amount of data whose expiration time is themost urgent.
 3. The method of claim 1, including the steps of: providinga retransmission mechanism of packets over said high speed packet accesswireless communication link, ordering service of said packets to beretransmitted at the top of the ordered list of queues.
 4. The method ofclaim 3, wherein: said high speed packet access wireless communicationlink is a code division multiple access link having a number ofchannelization codes and a power reserved thereto which identify a giventransport block size, said retransmission mechanism of packets over saidcode division multiple access link serves the packets retransmitted withthe same transport block size as in an original transmission.
 5. Themethod of claim 3, wherein: said high speed packet access wirelesscommunication link is a code division multiple access high speeddownlink having an associated channel quality indicator, saidretransmission mechanism of packets over said code division multipleaccess high speed downlink delivers the packets retransmitted using thesame channel quality indicator as used in an original transmission. 6.The method of claim 3, wherein: said high speed packet access wirelesscommunication link is a code division multiple access high speed uplink,and said retransmission mechanism of packets over said code divisionmultiple access high speed uplink assigns to the packets retransmittedthe same absolute grant retransmitted as in an original transmission. 7.The method of claim 1, wherein: said high speed packet access wirelesscommunication link is a code division multiple access high speeddownlink having a first number of channelization codes and a powerreserved thereto, said estimating the link resources needed involvesestimating a second number of channelization codes and a power forserving said at least one set of queues ordered higher in said orderedlist of queues, said checking whether said link resources are availableinvolves checking whether the second number of channelization codes andthe power estimated are smaller than or equal to the number ofchannelization codes and the power reserved to said code divisionmultiple access high speed downlink.
 8. The method of claim 1, wherein:said high speed packet access wireless communication link is a codedivision multiple access high speed uplink exposed to interference, saidestimating the link resources needed involves estimating a totalinterference to be experienced on said code division multiple accesshigh speed uplink, said checking whether said link resources areavailable involves checking whether said total interference estimateddoes not exceed an upper threshold.
 9. The method of claim 1, including:after checking whether said link resources are available, checking ifresidual service resources remain available, and if residual serviceresources remain available, allocating said residual service resourcesto further transmission services.
 10. The method of claim 9, includingthe steps of: providing a retransmission mechanism of packets over saidhigh speed packet access wireless communication link, if said residualservice resources remain available, in absence of new transmissionservices, allocating said residual service resources to retransmittingpackets over said high speed packet access wireless communication link.11. The method of claim 1, wherein said high speed packet accesswireless communication link is selected out of a High Speed DownlinkPacket Access link and a High Speed Uplink Packet Access link, andwherein said channel quality indicator is selected out of ChannelQuality Indicator, Uplink Power Headroom and Total E-DCH buffer status.12. The method of claim 1, wherein the amount of data that the userassociated with the respective Non Real Time service queue would be ableto send is a transport block size (TBS).
 13. A communication devicecomprising: a processor; and memory storing computer readableinstructions that, when executed by the processor, cause the processorto provide a scheduler for scheduling transmission services providedover a high speed packet access communication link, the scheduler beingconfigured to: create a list of queues of Real Time and Non Real Timetransmission services to be provided over high speed packet accesswireless communication link, allot to each of said queues of Real Timeand Non Real Time transmission services in said list a respective RealTime or Non Real Time service priority, wherein the Real Time servicepriority is based at least in part on a channel quality indicator andthe Non Real Time service priority is based on a metric dictated by anamount of data that a user associated with the respective Non Real Timeservice queue would be able to send divided by an amount of data in aqueue buffer, produce an ordered list of queues of Real Time and NonReal Time transmission services based on the respective allotted RealTime or Non Real Time service priorities, estimate link resources neededfor serving at least one set of queues ordered higher in said orderedlist of queues, and check whether said link resources are available,and: i) if said link resources are available, serving said at least oneset of queues ordered higher in said ordered list of queues, and ii) ifsaid link resources are not available, removing from said ordered listof queues at least one queue from said at least one set of queuesordered higher in said ordered list of queues.
 14. The communicationdevice of claim 13, wherein the communication device comprises a basestation in a communication network.
 15. The communication device ofclaim 13, wherein the communication device comprises user equipment in acommunication network.
 16. The communication device of claim 13, whereinReal Time service queues in said list of queues are allotted saidrespective Real Time service priorities based on a set of metricsincluding: the channel quality indicator indicating a channel qualityobserved by a user associated with the respective Real Time servicequeue; a time to expiration of packets for the user; and an amount ofdata whose expiration time is the most urgent.
 17. A communicationnetwork including at least one communication device according to claim14 and a second device.
 18. A non-transitory computer readable mediumstoring instructions that, when executed by a processor, cause theprocessor to: create a list of queues of Real Time and Non Real Timetransmission services to be provided over a high speed packet accesswireless communication link, allot to each of said queues of Real Timeand Non Real Time transmission services in said list a respective RealTime or Non Real Time service priority, wherein the Real Time servicepriority is based at least in part on a channel quality indicator andthe Non Real Time service priority is based on a metric dictated by anamount of data that a user associated with the respective Non Real Timeservice queue would be able to send divided by an amount of data in aqueue buffer, produce an ordered list of queues of Real Time and NonReal Time transmission services based on the respective allotted RealTime or Non Real Time service priorities, estimate link resources neededfor serving at least one set of queues ordered higher in said orderedlist of queues, and check whether said link resources are available,and: i) if said link resources are available, serving said at least oneset of queues ordered higher in said ordered list of queues, and ii) ifsaid link resources are not available, removing from said ordered listof queues at least one queue from said at least one set of queuesordered higher in said ordered list of queues.
 19. The non-transitorycomputer readable medium of claim 18, wherein Real Time service queuesin said list of queues are allotted said respective Real Time servicepriorities based on a set of metrics including: the channel qualityindicator indicating a channel quality observed by a user associatedwith the respective Real Time service queue; a time to expiration ofpackets for the user; and an amount of data whose expiration time is themost urgent.